Устранение сбоев

Дмитрий Масленников, «Т-Банк»

Перед сбоем

Настольная книга дежурного

  • Важные для продакшена новости проекта
  • Важные для продакшена ссылки
  • Важные контакты
  • Полезные команды и их шаблоны
  • Самые важные выдержки из документации

Утилиты самодиагностики

  • Состояние подключений
  • Состояние переключателей
  • Состояние фиче-флагов
  • Актуальный конфиг
  • Состояние данных

RED метрики для вызовов

RED — Request, Errors, Duration

Запросы, Ошибки, Длительность

Нас интересуют внешние и внутренние RED метрики

USE метрики для ресурсов

Ресурс — физические ресурсы сервера (CPU, память, место на диске, файловые дескрипторы и т.п.) и внутренние ресурсы приложения (открытые соединения в пуле, воркеры и т.п.), которые могут исчерпаться

USE — Utilization, Saturation, Errors

Утилизация, Насыщение, Ошибки

  • Утилизация — метрика использования ресурса, часто время использования ресурса
  • Насыщение — метрика, показывающая насколько ресурса не хватает, например, размер очереди ожидания
  • Ошибки — ошибки связанные с использованием ресурса

Самопочинка

Машина реагирует быстрее человека и никогда не спит

  • Авторестарт сбойных экземпляров
  • Авторестарт «особенных» экземпляров
  • Выключение сбойных нод (кластеров, датацентров) из балансировки
  • Тюнинг параметров систем под нагрузку

Может усугубить сбой или даже вызвать его

DRP

Disaster Recovery Plan

План восстановления после катастрофы

Практически план восстановления после потери всей инфраструктуры из бекапов

Отработка действий

  • Wheel-of-misfortune — ролевая игра по восстановлению конкретной системы
  • Обучение на реальных сбоях — кандидат в SRE должен устранить реальный сбой, прежде чем начать дежурить самостоятельно
  • Учения на искусственных сбоях — контролируемые сбои в продакшен

DiRT

Disaster Recovery Testing

Тестирование плана восстановления после катастроф

Коммуникация и эскалация во время сбоя

War room

Место где все соберутся должно быть определено заранее и хорошо известно всем

Google использует IRC чаты для коммуникации во время сбоев

Система управления инцидентами

  • Регистрация сбоя
  • Получение информации о актуальных сбоях заинтересованными
  • Уведомление отвественных за устранение сбоев
  • Информирование о ходе работ

Полезные роли

  • Командор — главный по сбою с правом принятия сложных решений
  • Коммуникатор — помогает информировать о ходе работ
  • Ответственный за сбор влияния и пострадавших
  • Ответственный по работе с клиентами
  • Ответственный за PR и СМИ

Общение

  • Информация об отсутствии изменений — тоже важная информация
  • «Все ли в порядке с ...?» — плохо, надо начать с описания наблюдаемых проблем
  • «Проблема на ... системе» — плохо, так как «проблема» — слишком общее слово
  • Подробное описание действий в чат помогает информированию и восстановлению хода работ при разборе сбоя в дальнейшем

Вызов дежурного

  • Кто вы
  • Причина обращения
  • Какое действие ожидаете

Спасибо!

Вопросы?